package com.ruoyi.mapper;

import java.util.List;
import com.ruoyi.domain.Question;
import com.ruoyi.pojo.dto.SearchQuestionDto;
import org.apache.ibatis.annotations.Update;

/**
 * 用户反馈Mapper接口
 *
 * @author qyb
 * @date 2023-12-26
 */
public interface QuestionMapper
{

    /**
     * 更改所有用户已读
     * @return
     */
    @Update("update sys_question set is_user_true=0")
    int updateUserRead();
    /**
     * 更改管理员已读
     * @return
     */
    @Update("update sys_question set is_admin_true=0")
    int updateAdminRead();

    /**
     * 用户反馈列表(新）
     * @param questionDto
     * @return
     */
    List<Question> getListByUserIdNew(SearchQuestionDto questionDto);
    /**
     * 用户反馈列表（新）
     * @param questionDto
     * @return
     */
    List<Question> getListNew(SearchQuestionDto questionDto);
//    /**
//     * 管理员反馈列表
//     * @param questionDto
//     * @return
//     */
//    List<Question> getList(SearchQuestionDto questionDto);
//    /**
//     * 用户反馈列表
//     * @param questionDto
//     * @return
//     */
//    List<Question> getListByUserId(SearchQuestionDto questionDto);


    //@Select({
    //        "select uuid, user_id,name, description, is_solve, content, is_user_true, back_content, is_delete, remark, create_by, create_time, update_by, update_time, is_admin_true",
    //        "from sys_question",
    //        "where 1=1", // 这里加上 1=1 是为了后续拼接条件时方便
    //        "<if test='searchName != null'>",
    //        "and name = #{questionDto.searchName}",
    //        "</if>"
    //})
    //List<Question> getList2(@Param("questionDto") SearchQuestionDto questionDto);








    /**
     * 未删除的查询用户反馈
     *
     * @param uuid 用户反馈主键
     * @return 用户反馈
     */
    public Question selectQuestionByUuid(Long uuid);


    /**
     * 查询用户反馈列表
     *
     * @param question 用户反馈
     * @return 用户反馈集合
     */
    public List<Question> selectQuestionList(Question question);

    /**
     * 新增用户反馈
     *
     * @param question 用户反馈
     * @return 结果
     */
    public int insertQuestion(Question question);

    /**
     * 修改用户反馈
     *
     * @param question 用户反馈
     * @return 结果
     */
    public int updateQuestion(Question question);

    /**
     * 删除用户反馈
     *
     * @param uuid 用户反馈主键
     * @return 结果
     */
    public int deleteQuestionByUuid(Long uuid);

    /**
     * 批量删除用户反馈
     *
     * @param uuids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQuestionByUuids(Long[] uuids);


}
